In Linux, l' "Tutto è un file" astrazione mappa tutte le sorgenti di input/output—dai file regolari ai socket di rete socket—in un flusso uniforme di byte. Questa interfaccia unificata consente un I/O a livello di sistema coerente I/O a livello di sistema per gestire un processo server e processo client transazione su processori multi-core.
Il modello unificato
Qualsiasi programma che acceda a un file regolare, directory, o hardware come un adattatore di rete, utilizza gli stessi primitivi. Come mostrato in Organizzazione dell'hardware (Figura 11.2), il sistema operativo collega CPU e memoria ai dispositivi tramite il bus I/O, trattando la rete come un file per semplificare la concorrenza su processori multi-core.
I/O robusto e metadati
Per gestire Conteggi brevi (dove i byte richiesti $k$ sono legati ai byte disponibili $m$ come $k \ge m$), il pacchetto Rio (I/O robusto) pacchetto fornisce rio_readinitb per Input bufferizzato. I metadati vengono gestiti tramite stat, mentre i permessi come O_RDWR e S_IROTH sono limitati dal umask.